package com.bjfu.service;

import com.bjfu.dto.*;
import com.bjfu.model.Team;
import com.bjfu.utils.Result;

public interface TeamAdminService {

    Result updateTeamInfo(TeamDTO team);

    Result addMember(MemberRequestDTO user);

    Result queryPendingMembers();

    Result getAchievements();

    Result getAchievement(Integer category);

    Result getNotOpenAchievements();

    Result getNotOpenAchievement(Integer category);


    Result judgeTeamMemberInfo(JudgeRequest judgeRequest);

    Result addAchievement(AchievementDTO achievementDTO);

    Result updateAchievement(AchievementDTO achievementDTO);

    Result deleteAchievement(Long achivementId);
    
    Result getNeedCancelUsers();

    Result getUserInfoByUserName(String username);

    Result getUserInfoByEmail(String email);

    Result getWaitJudgeUsers();

    Result getAllQuestions();

    Result getQuestionInfo(Long questionId);

    Result getAllQuestionsByStatus(Integer status);

    Result getPermitByUserId(Long user_id);

    Result changeAchievementStatus(AchievementDTO achievementDTO);

    Result shenheRegister(JudgeRequest judgeRequest);


    Result cancelUser(Long userId);

    Result ResetPasswordByUserId(Long userId);

    Result anwerQuestion(QuestionDTO question);

    Result tagQuestion(QuestionDTO questionDTO);

    Result addArticle(ArticleDTO articleDTO);

    Result updateArticle(ArticleDTO articleDTO);

    Result deleteArticle(Long articleId);

    Result getArticles();

    Result getMemberAndUserInfo();
}
